<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSS Afterburner: ReconstructedParticle.cxx Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">BOSS Afterburner
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('ReconstructedParticle_8cxx_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">ReconstructedParticle.cxx</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ReconstructedParticle_8cxx.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ReconstructedParticle_8h.html">Particle/ReconstructedParticle.h</a>&quot;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Draw_8h.html">Functions/Draw.h</a>&quot;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="TerminalIO_8h.html">Functions/TerminalIO.h</a>&quot;</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Settings_8h.html">Globals/Settings.h</a>&quot;</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;RooAddPdf.h&quot;</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &quot;RooBreitWigner.h&quot;</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;RooChebychev.h&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &quot;RooFFTConvPdf.h&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &quot;RooPlot.h&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceBOSS__Afterburner.html">BOSS_Afterburner</a>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<a class="code" href="classReconstructedParticle.html#a2aaacb221a31c08afee01b6ec1e855e9">ReconstructedParticle::ReconstructedParticle</a>(<span class="keywordtype">int</span> pdgCode) : <a class="code" href="classParticle.html">Particle</a>(pdgCode)</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;{</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;  Initialize();</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<a class="code" href="classReconstructedParticle.html#a2aaacb221a31c08afee01b6ec1e855e9">ReconstructedParticle::ReconstructedParticle</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* particleName) : <a class="code" href="classParticle.html">Particle</a>(particleName)</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;{</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;  Initialize();</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;}</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<a class="code" href="classReconstructedParticle.html#a2aaacb221a31c08afee01b6ec1e855e9">ReconstructedParticle::ReconstructedParticle</a>(<span class="keywordtype">int</span> pdgCode, <span class="keyword">const</span> <span class="keywordtype">char</span>* daughters) :</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;  <a class="code" href="classParticle.html">Particle</a>(pdgCode),</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;  fDaughterLabels(daughters)</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;  Initialize();</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;}</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<a class="code" href="classReconstructedParticle.html#a2aaacb221a31c08afee01b6ec1e855e9">ReconstructedParticle::ReconstructedParticle</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* particleName, <span class="keyword">const</span> <span class="keywordtype">char</span>* daughters) :</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  <a class="code" href="classParticle.html">Particle</a>(particleName),</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  fDaughterLabels(daughters)</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  Initialize();</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;}</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#a0c70c6ede968e32d8bb4451c9b91da9a">   44</a></span>&#160;<a class="code" href="classReconstructedParticle.html#a2aaacb221a31c08afee01b6ec1e855e9">ReconstructedParticle::ReconstructedParticle</a>(<span class="keyword">const</span> YAML::Node&amp; input) : <a class="code" href="classParticle.html">Particle</a>(input)</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;{</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <a class="code" href="classReconstructedParticle.html#ace08240d1503b9f0ea4fe7e74e649ccf">SetDaughterLabel</a>(input);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <a class="code" href="classReconstructedParticle.html#a03c956b9a28c14587c8bf9bc5a90d32d">Initialize</a>();</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;}</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#a03c956b9a28c14587c8bf9bc5a90d32d">   51</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classReconstructedParticle.html#a03c956b9a28c14587c8bf9bc5a90d32d">ReconstructedParticle::Initialize</a>()</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <a class="code" href="classReconstructedParticle.html#a606b46b3150f197eaa289912f1c5e7a3">DetermineReconstructionParameters</a>();</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;}</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordtype">void</span> <a class="code" href="classReconstructedParticle.html#ace08240d1503b9f0ea4fe7e74e649ccf">ReconstructedParticle::SetDaughterLabel</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* daughters)</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;{</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <a class="code" href="classReconstructedParticle.html#adada552db45c085ef713c57a59ca7456">fDaughterLabels</a> = daughters;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;}</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#a776baff0cb14386073787736b4cbc9d7">   62</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classReconstructedParticle.html#ace08240d1503b9f0ea4fe7e74e649ccf">ReconstructedParticle::SetDaughterLabel</a>(<span class="keyword">const</span> YAML::Node&amp; input)</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;{</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">const</span> <span class="keyword">auto</span>&amp; daughters = input[<span class="stringliteral">&quot;daughters&quot;</span>];</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <span class="keywordflow">if</span>(!daughters) <span class="keywordflow">return</span>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <a class="code" href="classReconstructedParticle.html#adada552db45c085ef713c57a59ca7456">fDaughterLabels</a> = daughters.as&lt;<span class="keywordtype">string</span>&gt;().c_str();</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;}</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#ae6920ec17e449a0ab49f4db2bf06b1c8">   71</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classReconstructedParticle.html#ae6920ec17e449a0ab49f4db2bf06b1c8">ReconstructedParticle::ImportFitPars_DG</a>()</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="keyword">const</span> std::vector&lt;double&gt;&amp; sig = <a class="code" href="classReconstructedParticle.html#a54ed6de6cfd5cdf1add2d2393f685648">fFitParameters</a>.<a class="code" href="classFitPars.html#a88130b5e4b8ae6f455f383105cdf7e8f">SignalParameters</a>();</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <span class="keywordflow">if</span>(sig.size() == 3)</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  {</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <a class="code" href="classReconstructedParticle.html#a79a698bd60f0d8457f3a858f22411b4c">fMassOffset</a> = sig[0];</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <a class="code" href="classReconstructedParticle.html#a831cfad026b8aaf53d52082f4d502193">fFitRange</a>   = {sig[1], sig[2]};</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  }</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keyword">const</span> std::vector&lt;double&gt;&amp; bck = <a class="code" href="classReconstructedParticle.html#a54ed6de6cfd5cdf1add2d2393f685648">fFitParameters</a>.<a class="code" href="classFitPars.html#a1757df095e72f863dcc58d820a8e9d4e">BackgroundParameters</a>();</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="keywordflow">if</span>(bck.size() == 1) { <a class="code" href="classReconstructedParticle.html#a2592ff9869e3ff12997c586dbd0559fe">fNPol</a> = bck[0]; }</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;}</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#aed152e7d39cbd841630b76200b2cb9be">   84</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classReconstructedParticle.html#aed152e7d39cbd841630b76200b2cb9be">ReconstructedParticle::SetGaussianPars</a>(TString input)</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;{</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <span class="keywordflow">if</span>(input.EqualTo(<span class="stringliteral">&quot;&quot;</span>)) <span class="keywordflow">return</span>;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <a class="code" href="classReconstructedParticle.html#af5f299089cebbc71e3ef55aee1d44997">fGaussianWidths</a>.clear();</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  input.ReplaceAll(<span class="stringliteral">&quot;,&quot;</span>, <span class="stringliteral">&quot; , &quot;</span>);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  TString tok;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  Ssiz_t  start{0};</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keywordflow">while</span>(input.Tokenize(tok, start, <span class="stringliteral">&quot;,&quot;</span>))</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <a class="code" href="classReconstructedParticle.html#af5f299089cebbc71e3ef55aee1d44997">fGaussianWidths</a>.push_back(tok.Atof());</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;}</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#a44ae7cd9ea48ce3c6dc806ab3dddd455">   96</a></span>&#160;std::shared_ptr&lt;RooRealVar&gt; <a class="code" href="classReconstructedParticle.html#a44ae7cd9ea48ce3c6dc806ab3dddd455">ReconstructedParticle::RooRealVarInvMass</a>()</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;{</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keyword">auto</span> ptr = std::make_shared&lt;RooRealVar&gt;(Form(<span class="stringliteral">&quot;#it{M}_{%s}&quot;</span>, <a class="code" href="classReconstructedParticle.html#adc13b67310f6b9db9c819a9024f58f20">DaughterLabel</a>()),</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                                          Form(<span class="stringliteral">&quot;#it{M}_{%s} (GeV/#it{c}^{2})&quot;</span>, <a class="code" href="classReconstructedParticle.html#adc13b67310f6b9db9c819a9024f58f20">DaughterLabel</a>()),</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                                          <a class="code" href="classReconstructedParticle.html#aa755cc4e124a7355b30a7b8fc7eddafb">PlotFrom</a>(), <a class="code" href="classReconstructedParticle.html#ae4b4ace00839a865ae3a610e89589a67">PlotUntil</a>());</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <a class="code" href="classReconstructedParticle.html#a284412445438dd88c4db8926cb226c84">fRooRealVars</a>.push_back(ptr);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keywordflow">return</span> ptr;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;}</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#add58a5ab5fa9d5a5a468397f2fd56cff">  105</a></span>&#160;std::shared_ptr&lt;RooRealVar&gt; <a class="code" href="classReconstructedParticle.html#add58a5ab5fa9d5a5a468397f2fd56cff">ReconstructedParticle::RooRealVarMean</a>()</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keyword">auto</span> ptr = std::make_shared&lt;RooRealVar&gt;(Form(<span class="stringliteral">&quot;m_{%s}&quot;</span>, <a class="code" href="classParticle.html#a277d1d1b4dfb9f52534fd47ddd204cf7">NameLaTeX</a>()), Form(<span class="stringliteral">&quot;%s mass&quot;</span>, <a class="code" href="classParticle.html#a277d1d1b4dfb9f52534fd47ddd204cf7">NameLaTeX</a>()),</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                                          <a class="code" href="classParticle.html#afa7faac580ed024253fe8de88a3d8bd0">Mass</a>(), <a class="code" href="classReconstructedParticle.html#a271906b64247b50251767358faf6ec5e">LowerMass</a>(), <a class="code" href="classReconstructedParticle.html#a9c64f7035a5b41e50b1dc256a2d3509f">UpperMass</a>());</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <a class="code" href="classReconstructedParticle.html#a284412445438dd88c4db8926cb226c84">fRooRealVars</a>.push_back(ptr);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="keywordflow">return</span> ptr;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;}</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#afbaf8bad6d1322924a4c43d5d73aae3a">  113</a></span>&#160;std::shared_ptr&lt;RooRealVar&gt; <a class="code" href="classReconstructedParticle.html#afbaf8bad6d1322924a4c43d5d73aae3a">ReconstructedParticle::RooRealVarMeanZero</a>()</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;{</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keyword">auto</span> ptr = std::make_shared&lt;RooRealVar&gt;(<span class="stringliteral">&quot;GaussianMeanZero&quot;</span>, <span class="stringliteral">&quot;GaussianMeanZero&quot;</span>, 0.);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="classReconstructedParticle.html#a284412445438dd88c4db8926cb226c84">fRooRealVars</a>.push_back(ptr);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="keywordflow">return</span> ptr;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;}</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#ad298e3971f99319ba7ebfd53b7419735">  120</a></span>&#160;std::shared_ptr&lt;RooRealVar&gt; <a class="code" href="classReconstructedParticle.html#ad298e3971f99319ba7ebfd53b7419735">ReconstructedParticle::RooRealVarSigma</a>(UChar_t num)</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;{</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="keyword">auto</span> ptr = std::make_shared&lt;RooRealVar&gt;(</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    Form(<span class="stringliteral">&quot;#sigma_{%u}&quot;</span>, num + 1), Form(<span class="stringliteral">&quot;%s width %u&quot;</span>, <a class="code" href="classParticle.html#a277d1d1b4dfb9f52534fd47ddd204cf7">NameLaTeX</a>(), num + 1), <a class="code" href="classReconstructedParticle.html#af5f299089cebbc71e3ef55aee1d44997">fGaussianWidths</a>[num],</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <a class="code" href="namespaceBOSS__Afterburner_1_1Fit.html#a97b7e6c6c2d07131d7f191ec2a99dba2">BOSS_Afterburner::Fit::gSigmaScaleFactorLow</a> * fGaussianWidths[num],</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <a class="code" href="namespaceBOSS__Afterburner_1_1Fit.html#a5f4c0b279fc09e9ebbb16ade0f1e33d0">BOSS_Afterburner::Fit::gSigmaScaleFactorUp</a> * fGaussianWidths[num]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <a class="code" href="classReconstructedParticle.html#a284412445438dd88c4db8926cb226c84">fRooRealVars</a>.push_back(ptr);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keywordflow">return</span> ptr;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;}</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#a21c575056b3907105d289fbe46516e50">  130</a></span>&#160;std::shared_ptr&lt;RooRealVar&gt; <a class="code" href="classReconstructedParticle.html#a21c575056b3907105d289fbe46516e50">ReconstructedParticle::RooRealVarSigmaFixed</a>(UChar_t num)</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;{</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keyword">auto</span> ptr = std::make_shared&lt;RooRealVar&gt;(</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    Form(<span class="stringliteral">&quot;#sigma_{%u}&quot;</span>, num + 1), Form(<span class="stringliteral">&quot;%s width %u&quot;</span>, <a class="code" href="classParticle.html#a277d1d1b4dfb9f52534fd47ddd204cf7">NameLaTeX</a>(), num + 1), <a class="code" href="classReconstructedParticle.html#af5f299089cebbc71e3ef55aee1d44997">fGaussianWidths</a>[num]);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  <a class="code" href="classReconstructedParticle.html#a284412445438dd88c4db8926cb226c84">fRooRealVars</a>.push_back(ptr);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="keywordflow">return</span> ptr;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;}</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;std::vector&lt;std::shared_ptr&lt;RooRealVar&gt;&gt;</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#ae548c9fcc7d7eeb384f604dd3105db04">  140</a></span>&#160;  <a class="code" href="classReconstructedParticle.html#ae548c9fcc7d7eeb384f604dd3105db04">ReconstructedParticle::FitConvolutionBWGaussian</a>(TH1F* hist, TString logScale)</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;{</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="comment">// * DATA MEMBERS * //</span></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <span class="comment">// * FitObject</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  std::shared_ptr&lt;RooDataHist&gt; fRooDataHist;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  std::shared_ptr&lt;RooRealVar&gt;  fRooRealVar;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  <span class="comment">// * FitObjectDoubleGaussian</span></div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  RooArgList                                fBckParameters;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  RooArgList                                fComponents;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  RooArgList                                fAddedGaussians;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  RooArgList                                fNContributions;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  std::shared_ptr&lt;RooAddPdf&gt;                fFullShape;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  std::shared_ptr&lt;RooChebychev&gt;             fPolBackground;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  std::shared_ptr&lt;RooRealVar&gt;               fSigToBckRatio;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  std::vector&lt;std::shared_ptr&lt;RooRealVar&gt;&gt;  fFitPars;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  std::vector&lt;std::shared_ptr&lt;RooGaussian&gt;&gt; fGaussians;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  std::vector&lt;std::shared_ptr&lt;RooRealVar&gt;&gt;  fNGauss;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="namespaceBOSS__Afterburner_1_1TerminalIO.html#a3cf768f515ced7b0f68b80b0d5ce0371">TerminalIO::IsEmptyPtr</a>(hist)) <span class="keywordflow">return</span> fFitPars;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="comment">// * METHODS * //</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="keywordflow">if</span>(<span class="keyword">true</span>)</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  { <span class="comment">// local namespace for testing the beginnings of a class design</span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="comment">// * Create RooFit variable and data distribution * //</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    fRooRealVar  = <a class="code" href="classReconstructedParticle.html#a44ae7cd9ea48ce3c6dc806ab3dddd455">RooRealVarInvMass</a>();</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    fRooDataHist = std::make_shared&lt;RooDataHist&gt;(<a class="code" href="classReconstructedParticle.html#abbd9cb0d080c38be2194e9a1033aacb1">CreateRooFitInvMassDistr</a>(hist, *fRooRealVar));</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="comment">// * Create Gaussian function * //</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    fFitPars.push_back(<a class="code" href="classReconstructedParticle.html#afbaf8bad6d1322924a4c43d5d73aae3a">RooRealVarMeanZero</a>());</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keywordflow">for</span>(UChar_t i = 0; i &lt; <a class="code" href="classReconstructedParticle.html#a47b3228d46376f53a967f26af2154bdb">GaussianWidths</a>().size() - 1; ++i)</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    {</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;      fFitPars.push_back(<a class="code" href="classReconstructedParticle.html#ad298e3971f99319ba7ebfd53b7419735">RooRealVarSigma</a>(i));</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      fGaussians.push_back(std::make_shared&lt;RooGaussian&gt;(</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        Form(<span class="stringliteral">&quot;gauss%u&quot;</span>, i + 1),</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        Form(<span class="stringliteral">&quot;Gaussian PDF %u for #it{M}_{%s} distribution&quot;</span>, i + 1, <a class="code" href="classReconstructedParticle.html#adc13b67310f6b9db9c819a9024f58f20">DaughterLabel</a>()), *fRooRealVar,</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        *fFitPars[0], *fFitPars[1 + i]));</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      fNGauss.push_back(std::make_shared&lt;RooRealVar&gt;(Form(<span class="stringliteral">&quot;N_{gaus%u}&quot;</span>, i + 1),</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                                                     Form(<span class="stringliteral">&quot;N_{gaus%u}&quot;</span>, i + 1), .8, 0., 1.));</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;      fAddedGaussians.add(*fGaussians[i]);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;      <span class="keywordflow">if</span>(i != 0) fNContributions.add(*fNGauss[i]);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    }</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="comment">// * Add the Gaussian components * //</span></div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    RooRealVar ratio(<span class="stringliteral">&quot;ratio&quot;</span>, <span class="stringliteral">&quot;Ratio between the two Gaussian pdfs&quot;</span>, .8, 0., 1.);</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    RooAddPdf  doublegauss(<span class="stringliteral">&quot;double_gaussian&quot;</span>, <span class="stringliteral">&quot;Double gaussian&quot;</span>, fAddedGaussians, fNContributions);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="comment">// * Create Breit-Wigner/Cauchy distribution * //</span></div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    fFitPars.push_back(<a class="code" href="classReconstructedParticle.html#add58a5ab5fa9d5a5a468397f2fd56cff">RooRealVarMean</a>());</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    RooRealVar width(<span class="stringliteral">&quot;#sigma_{BW}&quot;</span>, Form(<span class="stringliteral">&quot;%s BW width&quot;</span>, <a class="code" href="classParticle.html#a277d1d1b4dfb9f52534fd47ddd204cf7">NameLaTeX</a>()), <a class="code" href="classReconstructedParticle.html#a47b3228d46376f53a967f26af2154bdb">GaussianWidths</a>().back(), 0.,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                     10. * <a class="code" href="classReconstructedParticle.html#a47b3228d46376f53a967f26af2154bdb">GaussianWidths</a>().back());</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    RooBreitWigner bw(<span class="stringliteral">&quot;breitwigner&quot;</span>,</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                      Form(<span class="stringliteral">&quot;Breit-Wigner PDF for #it{M}_{%s} distribution&quot;</span>, <a class="code" href="classReconstructedParticle.html#adc13b67310f6b9db9c819a9024f58f20">DaughterLabel</a>()),</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                      *fRooRealVar, *fFitPars.back(), width);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="comment">// * Convolute * //</span></div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    RooFFTConvPdf signal(<span class="stringliteral">&quot;convolution&quot;</span>, <span class="stringliteral">&quot;convolution&quot;</span>, *fRooRealVar, bw, doublegauss);</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    RooRealVar    n(<span class="stringliteral">&quot;N_{gaus1}&quot;</span>, <span class="stringliteral">&quot;N_{gaus1}&quot;</span>, 1e2, 0., 1e6);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    RooArgList    fComponents(signal);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    RooArgList    fNContributions(n);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="comment">// * Add polynomial background if required * //</span></div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    RooArgList fBckParameters;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="keywordflow">for</span>(UChar_t i = 0; i &lt;= <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>(); ++i)</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    {</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      <span class="keyword">auto</span> <a class="code" href="namespacevalues.html#aa7df32bde35ec97ac4a41de71d7d969f">p</a> = <span class="keyword">new</span> RooRealVar(Form(<span class="stringliteral">&quot;p%u&quot;</span>, i), Form(<span class="stringliteral">&quot;p%u&quot;</span>, i), 0., -1e6, 1e6);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;      fBckParameters.add(*<a class="code" href="namespacevalues.html#aa7df32bde35ec97ac4a41de71d7d969f">p</a>);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    }</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    RooChebychev fPolBackground(<span class="stringliteral">&quot;polBkg&quot;</span>, Form(<span class="stringliteral">&quot;Polynomial-%u background&quot;</span>, <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>()), *fRooRealVar,</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;                                fBckParameters);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    RooRealVar   fSigToBckRatio(Form(<span class="stringliteral">&quot;N_{pol%u}&quot;</span>, <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>()), Form(<span class="stringliteral">&quot;N_{pol%u}&quot;</span>, <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>()), 0., 0., 1e5);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>())</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    {</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      fComponents.add(fPolBackground);</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;      fNContributions.add(fSigToBckRatio);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    }</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="comment">// * Add the components and fit * //</span></div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    RooAddPdf fFullShape(<span class="stringliteral">&quot;full_shape&quot;</span>, <span class="stringliteral">&quot;Double gaussian + background&quot;</span>, fComponents,</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;                         fNContributions);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keyword">auto</span>      result = fFullShape.fitTo(*fRooDataHist, RooFit::Range(<a class="code" href="classReconstructedParticle.html#a0537e6ce44ca695c985c109149f6cde9">FitFrom</a>(), <a class="code" href="classReconstructedParticle.html#aab77ae2925967715018f87efef98ab35">FitUntil</a>()));</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="comment">// * Plot results and save * //</span></div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    RooPlot* frame = fRooRealVar-&gt;frame(); <span class="comment">// create a frame to draw</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    frame-&gt;SetAxisRange(<a class="code" href="classReconstructedParticle.html#aa755cc4e124a7355b30a7b8fc7eddafb">PlotFrom</a>(), <a class="code" href="classReconstructedParticle.html#ae4b4ace00839a865ae3a610e89589a67">PlotUntil</a>());</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    fRooDataHist-&gt;plotOn(frame, <span class="comment">// draw distribution</span></div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;                         RooFit::LineWidth(2), RooFit::LineColor(kBlue + 2), RooFit::LineWidth(1),</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;                         RooFit::MarkerColor(kBlue + 2), RooFit::MarkerSize(.5));</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    fFullShape.plotOn(frame, RooFit::LineWidth(2), RooFit::LineColor(kBlack));</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>() &gt;= 0)</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    {</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;      fFullShape.plotOn(frame, RooFit::Components(signal), <span class="comment">// draw signal</span></div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;                        RooFit::LineWidth(1), RooFit::LineColor(kRed - 4));</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;      fFullShape.plotOn(frame, RooFit::Components(fPolBackground), <span class="comment">// draw background</span></div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;                        RooFit::LineStyle(kDashed), RooFit::LineWidth(1), RooFit::LineColor(kGray));</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    }</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    fFullShape.paramOn(frame, RooFit::Layout(.56, .98, .92));</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="comment">// * Write fitted histograms * //</span></div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    TString pname = <a class="code" href="classParticle.html#ad30a585b6978c1be9fe055b991aae27d">Name</a>();</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    pname.ReplaceAll(<span class="stringliteral">&quot;/&quot;</span>, <span class="stringliteral">&quot;&quot;</span>); <span class="comment">// in case of for instance &quot;J/psi&quot;</span></div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <a class="code" href="namespaceBOSS__Afterburner_1_1Draw.html#ab9b47ef9b8006087ad8ac15b6d46aac8">Draw::DrawAndSave</a>(Form(<span class="stringliteral">&quot;ConvBWDoubleGauss_%s&quot;</span>, pname.Data()), <span class="stringliteral">&quot;&quot;</span>, logScale, frame);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <span class="keyword">delete</span> frame;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  }</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <span class="keywordflow">return</span> fFitPars;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;}</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#a407721683be88ff1a0d4c5e7591e5205">  246</a></span>&#160;std::vector&lt;std::shared_ptr&lt;RooRealVar&gt;&gt; <a class="code" href="classReconstructedParticle.html#a407721683be88ff1a0d4c5e7591e5205">ReconstructedParticle::FitBreitWigner</a>(TH1F*   hist,</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;                                                                               TString logScale)</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;{</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;  <span class="comment">// * DATA MEMBERS * //</span></div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  <span class="comment">// * FitObject</span></div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  std::shared_ptr&lt;RooDataHist&gt; fRooDataHist;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  std::shared_ptr&lt;RooRealVar&gt;  fRooRealVar;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="comment">// * FitObjectDoubleGaussian</span></div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  RooArgList                                fBckParameters;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  RooArgList                                fComponents;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  RooArgList                                fNContributions;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  std::shared_ptr&lt;RooAddPdf&gt;                fFullShape;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  std::shared_ptr&lt;RooChebychev&gt;             fPolBackground;</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  std::shared_ptr&lt;RooRealVar&gt;               fSigToBckRatio;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  std::vector&lt;std::shared_ptr&lt;RooRealVar&gt;&gt;  fFitPars;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  std::vector&lt;std::shared_ptr&lt;RooGaussian&gt;&gt; fGaussians;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  std::vector&lt;std::shared_ptr&lt;RooRealVar&gt;&gt;  fNGauss;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="namespaceBOSS__Afterburner_1_1TerminalIO.html#a3cf768f515ced7b0f68b80b0d5ce0371">TerminalIO::IsEmptyPtr</a>(hist)) <span class="keywordflow">return</span> fFitPars;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  <span class="comment">// * METHODS * //</span></div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  <span class="keywordflow">if</span>(<span class="keyword">true</span>)</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  { <span class="comment">// local namespace for testing the beginnings of a class design</span></div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="comment">// * Create RooFit variable and data distribution * //</span></div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="keyword">auto</span> fRooRealVar  = <a class="code" href="classReconstructedParticle.html#a44ae7cd9ea48ce3c6dc806ab3dddd455">RooRealVarInvMass</a>();</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keyword">auto</span> fRooDataHist = <a class="code" href="classReconstructedParticle.html#abbd9cb0d080c38be2194e9a1033aacb1">CreateRooFitInvMassDistr</a>(hist, *fRooRealVar);</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="comment">// * Create Breit-Wigner function and fit * //</span></div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    RooRealVar  mean(Form(<span class="stringliteral">&quot;m_{%s}&quot;</span>, <a class="code" href="classParticle.html#a277d1d1b4dfb9f52534fd47ddd204cf7">NameLaTeX</a>()), Form(<span class="stringliteral">&quot;%s mass&quot;</span>, <a class="code" href="classParticle.html#a277d1d1b4dfb9f52534fd47ddd204cf7">NameLaTeX</a>()), <a class="code" href="classParticle.html#afa7faac580ed024253fe8de88a3d8bd0">Mass</a>(), <a class="code" href="classReconstructedParticle.html#a271906b64247b50251767358faf6ec5e">LowerMass</a>(),</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;                    <a class="code" href="classReconstructedParticle.html#a9c64f7035a5b41e50b1dc256a2d3509f">UpperMass</a>());</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    RooRealVar  width(<span class="stringliteral">&quot;width&quot;</span>, Form(<span class="stringliteral">&quot;%s width&quot;</span>, <a class="code" href="classParticle.html#a277d1d1b4dfb9f52534fd47ddd204cf7">NameLaTeX</a>()), <a class="code" href="classReconstructedParticle.html#aa41cf62690a8fbfb5f0adcdf22e96bba">BWPureWidth</a>(), 0.,</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;                     100. * <a class="code" href="classReconstructedParticle.html#aa41cf62690a8fbfb5f0adcdf22e96bba">BWPureWidth</a>());</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    RooGaussian signal(<span class="stringliteral">&quot;breitwigner&quot;</span>,</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                       Form(<span class="stringliteral">&quot;Breit-Wigner PDF for #it{M}_{%s} distribution&quot;</span>, <a class="code" href="classReconstructedParticle.html#adc13b67310f6b9db9c819a9024f58f20">DaughterLabel</a>()),</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                       *fRooRealVar, mean, width);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    RooRealVar  n(<span class="stringliteral">&quot;N_{BW}&quot;</span>, <span class="stringliteral">&quot;N_{BW}&quot;</span>, 1e2, 0., 1e6);</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    RooArgList  fComponents(signal);</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    RooArgList  fNContributions(n);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <span class="comment">// * Add polynomial background if required * //</span></div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    RooArgList fBckParameters;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="keywordflow">for</span>(UChar_t i = 0; i &lt;= <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>(); ++i)</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    {</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;      <span class="keyword">auto</span> <a class="code" href="namespacevalues.html#aa7df32bde35ec97ac4a41de71d7d969f">p</a> = <span class="keyword">new</span> RooRealVar(Form(<span class="stringliteral">&quot;p%u&quot;</span>, i), Form(<span class="stringliteral">&quot;p%u&quot;</span>, i), 0., -1e6, 1e6);</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;      fBckParameters.add(*<a class="code" href="namespacevalues.html#aa7df32bde35ec97ac4a41de71d7d969f">p</a>);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    }</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    RooChebychev fPolBackground(<span class="stringliteral">&quot;polBkg&quot;</span>, Form(<span class="stringliteral">&quot;Polynomial-%u background&quot;</span>, <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>()), *fRooRealVar,</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;                                fBckParameters);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    RooRealVar   fSigToBckRatio(Form(<span class="stringliteral">&quot;N_{pol%u}&quot;</span>, <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>()), Form(<span class="stringliteral">&quot;N_{pol%u}&quot;</span>, <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>()), 0., 0., 1e5);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>() &gt;= 0)</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    {</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;      fComponents.add(fPolBackground);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;      fNContributions.add(fSigToBckRatio);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    }</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="comment">// * Add the components and fit * //</span></div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    RooAddPdf fFullShape(<span class="stringliteral">&quot;full_shape&quot;</span>, <span class="stringliteral">&quot;Breit-Wigner + background&quot;</span>, fComponents, fNContributions);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <span class="keyword">auto</span>      result = fFullShape.fitTo(fRooDataHist, RooFit::Range(<a class="code" href="classReconstructedParticle.html#a0537e6ce44ca695c985c109149f6cde9">FitFrom</a>(), <a class="code" href="classReconstructedParticle.html#aab77ae2925967715018f87efef98ab35">FitUntil</a>()));</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <span class="comment">// * Plot results and save * //</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    RooPlot* frame = fRooRealVar-&gt;frame(); <span class="comment">// create a frame to draw</span></div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    frame-&gt;SetAxisRange(<a class="code" href="classReconstructedParticle.html#aa755cc4e124a7355b30a7b8fc7eddafb">PlotFrom</a>(), <a class="code" href="classReconstructedParticle.html#ae4b4ace00839a865ae3a610e89589a67">PlotUntil</a>());</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    fRooDataHist.plotOn(frame, <span class="comment">// draw distribution</span></div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;                        RooFit::LineWidth(2), RooFit::LineColor(kBlue + 2), RooFit::LineWidth(1),</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;                        RooFit::MarkerColor(kBlue + 2), RooFit::MarkerSize(.5));</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    fFullShape.plotOn(frame, RooFit::LineWidth(2), RooFit::LineColor(kBlack));</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>() &gt;= 0)</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    {</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;      fFullShape.plotOn(frame, RooFit::Components(signal), <span class="comment">// draw Breit-Wigner</span></div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;                        RooFit::LineWidth(1), RooFit::LineColor(kRed - 4));</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;      fFullShape.plotOn(frame, RooFit::Components(fPolBackground), <span class="comment">// draw background</span></div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;                        RooFit::LineStyle(kDashed), RooFit::LineWidth(1), RooFit::LineColor(kGray));</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    }</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    fFullShape.paramOn(frame, RooFit::Layout(.56, .98, .92));</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    <span class="comment">// * Write fitted histograms * //</span></div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    TCanvas <a class="code" href="namespacevalues.html#a033b943df6ca20602e77c3a93cbebd92">c</a>;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    c.SetBatch();</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    frame-&gt;Draw();</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    <a class="code" href="namespaceBOSS__Afterburner_1_1Draw.html#adee26ab251a1f534e7dfcfa01bce0bd1">Draw::SaveCanvas</a>(Form(<span class="stringliteral">&quot;BreitWigner_%s&quot;</span>, <a class="code" href="classParticle.html#ad30a585b6978c1be9fe055b991aae27d">Name</a>()), &amp;c);</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;  }</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  <span class="keywordflow">return</span> fFitPars;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;}</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#ab660efe8d951cb0d9b377797b44a431a">  330</a></span>&#160;std::vector&lt;std::shared_ptr&lt;RooRealVar&gt;&gt; <a class="code" href="classReconstructedParticle.html#ab660efe8d951cb0d9b377797b44a431a">ReconstructedParticle::FitPureGaussians</a>(TH1F*   hist,</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;                                                                                 TString logScale,</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;                                                                                 TString outputName,</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;                                                                                 <span class="keyword">const</span> <span class="keywordtype">bool</span> fixpars)</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;{</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <span class="comment">// * DATA MEMBERS * //</span></div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  <span class="comment">// * FitObject</span></div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  std::shared_ptr&lt;RooDataHist&gt; fRooDataHist;</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;  std::shared_ptr&lt;RooRealVar&gt;  fRooRealVar;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  <span class="comment">// * FitObjectDoubleGaussian</span></div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;  RooArgList                                fBckParameters;</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;  RooArgList                                fComponents;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;  RooArgList                                fNContributions;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  std::shared_ptr&lt;RooAddPdf&gt;                fFullShape;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;  std::shared_ptr&lt;RooChebychev&gt;             fPolBackground;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  std::shared_ptr&lt;RooRealVar&gt;               fSigToBckRatio;</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;  std::vector&lt;std::shared_ptr&lt;RooRealVar&gt;&gt;  fFitPars;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;  std::vector&lt;std::shared_ptr&lt;RooGaussian&gt;&gt; fGaussians;</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  std::vector&lt;std::shared_ptr&lt;RooRealVar&gt;&gt;  fNGauss;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="namespaceBOSS__Afterburner_1_1TerminalIO.html#a3cf768f515ced7b0f68b80b0d5ce0371">TerminalIO::IsEmptyPtr</a>(hist)) <span class="keywordflow">return</span> fFitPars;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  <span class="comment">// * METHODS * //</span></div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;  <span class="keywordflow">if</span>(<span class="keyword">true</span>)</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;  { <span class="comment">// local namespace for testing the beginnings of a class design</span></div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="comment">// * Create RooFit variable and data distribution * //</span></div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    fRooRealVar  = <a class="code" href="classReconstructedParticle.html#a44ae7cd9ea48ce3c6dc806ab3dddd455">RooRealVarInvMass</a>();</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    fRooDataHist = std::make_shared&lt;RooDataHist&gt;(<a class="code" href="classReconstructedParticle.html#abbd9cb0d080c38be2194e9a1033aacb1">CreateRooFitInvMassDistr</a>(hist, *fRooRealVar));</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="comment">// * Create Gaussian functions * //</span></div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    fFitPars.push_back(<a class="code" href="classReconstructedParticle.html#add58a5ab5fa9d5a5a468397f2fd56cff">RooRealVarMean</a>());</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keywordflow">for</span>(UChar_t i = 0; i &lt; <a class="code" href="classReconstructedParticle.html#a47b3228d46376f53a967f26af2154bdb">GaussianWidths</a>().size(); ++i)</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    {</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;      <span class="keywordflow">if</span>(fixpars)</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        fFitPars.push_back(<a class="code" href="classReconstructedParticle.html#a21c575056b3907105d289fbe46516e50">RooRealVarSigmaFixed</a>(i));</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;      <span class="keywordflow">else</span></div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        fFitPars.push_back(<a class="code" href="classReconstructedParticle.html#ad298e3971f99319ba7ebfd53b7419735">RooRealVarSigma</a>(i));</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;      fGaussians.push_back(std::make_shared&lt;RooGaussian&gt;(</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        Form(<span class="stringliteral">&quot;gauss%u&quot;</span>, i + 1),</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;        Form(<span class="stringliteral">&quot;Gaussian PDF %u for #it{M}_{%s} distribution&quot;</span>, i + 1, <a class="code" href="classReconstructedParticle.html#adc13b67310f6b9db9c819a9024f58f20">DaughterLabel</a>()), *fRooRealVar,</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        *fFitPars[0], *fFitPars[1 + i]));</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;      fNGauss.push_back(std::make_shared&lt;RooRealVar&gt;(Form(<span class="stringliteral">&quot;N_{gaus%u}&quot;</span>, i + 1),</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;                                                     Form(<span class="stringliteral">&quot;N_{gaus%u}&quot;</span>, i + 1), 1e2, 0., 1e6));</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;      fComponents.add(*fGaussians[i]);</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;      fNContributions.add(*fNGauss[i]);</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    }</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <span class="comment">// * Add polynomial background if required * //</span></div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="keywordflow">for</span>(UChar_t i = 0; i &lt;= <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>(); ++i)</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    {</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;      fBckParameters.addClone(RooRealVar(Form(<span class="stringliteral">&quot;p%u&quot;</span>, i), Form(<span class="stringliteral">&quot;p%u&quot;</span>, i), 0., -1e6, 1e6));</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    }</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    fPolBackground = std::make_shared&lt;RooChebychev&gt;(</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;      <span class="stringliteral">&quot;polBkg&quot;</span>, Form(<span class="stringliteral">&quot;Polynomial-%u background&quot;</span>, <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>()), *fRooRealVar, fBckParameters);</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    fSigToBckRatio = std::make_shared&lt;RooRealVar&gt;(Form(<span class="stringliteral">&quot;N_{pol%u}&quot;</span>, <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>()),</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;                                                  Form(<span class="stringliteral">&quot;N_{pol%u}&quot;</span>, <a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>()), 0., 0., 1e5);</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>() &gt;= 0)</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    {</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;      fComponents.add(*fPolBackground);</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;      fNContributions.add(*fSigToBckRatio);</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    }</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    <span class="comment">// * Add the components and fit * //</span></div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    fFullShape = std::make_shared&lt;RooAddPdf&gt;(<span class="stringliteral">&quot;full_shape&quot;</span>, <span class="stringliteral">&quot;Double gaussian + background&quot;</span>,</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;                                             fComponents, fNContributions);</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    fFullShape-&gt;fitTo(*fRooDataHist, RooFit::Range(<a class="code" href="classReconstructedParticle.html#a0537e6ce44ca695c985c109149f6cde9">FitFrom</a>(), <a class="code" href="classReconstructedParticle.html#aab77ae2925967715018f87efef98ab35">FitUntil</a>()));</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;    <span class="comment">// * Plot results and save * //</span></div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <span class="keyword">auto</span> frame = fRooRealVar-&gt;frame(); <span class="comment">// create a frame to draw</span></div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    frame-&gt;SetAxisRange(<a class="code" href="classReconstructedParticle.html#aa755cc4e124a7355b30a7b8fc7eddafb">PlotFrom</a>(), <a class="code" href="classReconstructedParticle.html#ae4b4ace00839a865ae3a610e89589a67">PlotUntil</a>());</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    fRooDataHist-&gt;plotOn(frame, <span class="comment">// draw distribution</span></div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;                         RooFit::LineWidth(2), RooFit::LineColor(kBlue + 2), RooFit::LineWidth(1),</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;                         RooFit::MarkerColor(kBlue + 2), RooFit::MarkerSize(.5));</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    fFullShape-&gt;plotOn(frame, RooFit::LineWidth(2), RooFit::LineColor(kBlack)); <span class="comment">// draw sig+bck fit</span></div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <span class="keywordflow">for</span>(UChar_t i = 0; i &lt; <a class="code" href="classReconstructedParticle.html#a47b3228d46376f53a967f26af2154bdb">GaussianWidths</a>().size(); ++i)</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    {</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;      fFullShape-&gt;plotOn(frame, RooFit::Components(*fComponents.at(i)), RooFit::LineWidth(1),</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;                         RooFit::LineColor(<a class="code" href="namespaceBOSS__Afterburner_1_1Draw.html#a8e27e1ff75f6232688896ba0af775adc">BOSS_Afterburner::Draw::gColorPalette</a>[i]));</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    }</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">NPol</a>() &gt;= 0)</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    {</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;      fFullShape-&gt;plotOn(frame, RooFit::Components(*fPolBackground), <span class="comment">// draw background</span></div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;                         RooFit::LineStyle(kDashed), RooFit::LineWidth(1),</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;                         RooFit::LineColor(kGray));</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    }</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    fFullShape-&gt;paramOn(frame, RooFit::Layout(.56, .98, .92));</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <span class="comment">// * Write fitted histograms * //</span></div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    <span class="keywordflow">if</span>(outputName.EqualTo(<span class="stringliteral">&quot;&quot;</span>)) outputName = <a class="code" href="classParticle.html#ad30a585b6978c1be9fe055b991aae27d">Name</a>();</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    outputName.ReplaceAll(<span class="stringliteral">&quot;/&quot;</span>, <span class="stringliteral">&quot;&quot;</span>); <span class="comment">// in case of for instance &quot;J/psi&quot;</span></div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <a class="code" href="namespaceBOSS__Afterburner_1_1Draw.html#ab9b47ef9b8006087ad8ac15b6d46aac8">Draw::DrawAndSave</a>(Form(<span class="stringliteral">&quot;DoubleGauss_%s&quot;</span>, outputName.Data()), <span class="stringliteral">&quot;&quot;</span>, logScale, frame);</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <span class="keyword">delete</span> frame;</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;  }</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;  <span class="keywordflow">return</span> fFitPars;</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;}</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#abbd9cb0d080c38be2194e9a1033aacb1">  427</a></span>&#160;RooDataHist <a class="code" href="classReconstructedParticle.html#abbd9cb0d080c38be2194e9a1033aacb1">ReconstructedParticle::CreateRooFitInvMassDistr</a>(TH1F* hist, <span class="keyword">const</span> RooRealVar&amp; var)</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;{</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  RooDataHist distr(Form(<span class="stringliteral">&quot;%scandidate_RooDataHist&quot;</span>, <a class="code" href="classParticle.html#ad30a585b6978c1be9fe055b991aae27d">Name</a>()), hist-&gt;GetTitle(), var,</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;                    RooFit::Import(*hist));</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;  <span class="keywordflow">return</span> distr;</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;}</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;</div><div class="line"><a name="l00435"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#a271906b64247b50251767358faf6ec5e">  435</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classReconstructedParticle.html#a271906b64247b50251767358faf6ec5e">ReconstructedParticle::LowerMass</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="classParticle.html#a08665826413095e79efd4a6a1ec3fabc">fParticlePDG</a>)</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <span class="keywordflow">return</span> (1. - <a class="code" href="classReconstructedParticle.html#a79a698bd60f0d8457f3a858f22411b4c">fMassOffset</a>) * <a class="code" href="classParticle.html#afa7faac580ed024253fe8de88a3d8bd0">Mass</a>();</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;  <span class="keywordflow">else</span></div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="keywordflow">return</span> 0.;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;}</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#a9c64f7035a5b41e50b1dc256a2d3509f">  444</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classReconstructedParticle.html#a9c64f7035a5b41e50b1dc256a2d3509f">ReconstructedParticle::UpperMass</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="classParticle.html#a08665826413095e79efd4a6a1ec3fabc">fParticlePDG</a>)</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <span class="keywordflow">return</span> (1. + <a class="code" href="classReconstructedParticle.html#a79a698bd60f0d8457f3a858f22411b4c">fMassOffset</a>) * <a class="code" href="classParticle.html#afa7faac580ed024253fe8de88a3d8bd0">Mass</a>();</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;  <span class="keywordflow">else</span></div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    <span class="keywordflow">return</span> 0.;</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;}</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="comment">// ! Tweak your analysis parameters here ! //</span></div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;</div><div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="classReconstructedParticle.html#a606b46b3150f197eaa289912f1c5e7a3">  455</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classReconstructedParticle.html#a606b46b3150f197eaa289912f1c5e7a3">ReconstructedParticle::DetermineReconstructionParameters</a>()</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;{</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;  <span class="keywordflow">if</span>(<a class="code" href="classParticle.html#a08665826413095e79efd4a6a1ec3fabc">fParticlePDG</a>)</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;  {</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    <span class="keywordflow">switch</span>(<a class="code" href="classParticle.html#a08665826413095e79efd4a6a1ec3fabc">fParticlePDG</a>-&gt;PdgCode())</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    {</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;      <span class="keywordflow">case</span> 111: <span class="comment">// neutral pion</span></div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        <a class="code" href="classReconstructedParticle.html#a79a698bd60f0d8457f3a858f22411b4c">fMassOffset</a>        = .02;</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        <a class="code" href="classReconstructedParticle.html#a592dddf1e3068fd87f5a3480cb1fb67b">fBWPureWidth</a>       = .013;</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        <a class="code" href="classReconstructedParticle.html#a833eb51bbe8f59f7f8ca6444b7b1528f">fBWConvolutedWidth</a> = .00002;</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;        <a class="code" href="classReconstructedParticle.html#af5f299089cebbc71e3ef55aee1d44997">fGaussianWidths</a>    = {.00499, .0135};</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        <a class="code" href="classReconstructedParticle.html#a831cfad026b8aaf53d52082f4d502193">fFitRange</a>          = {.10, .17};</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        <a class="code" href="classReconstructedParticle.html#af4e72a3ad26e025fcd909dc82e91590a">fPlotRange</a>         = {.10, .17};</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        <a class="code" href="classReconstructedParticle.html#a2592ff9869e3ff12997c586dbd0559fe">fNPol</a>              = 2;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;      <span class="keywordflow">case</span> 113: <span class="comment">// neutral rho</span></div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        <a class="code" href="classReconstructedParticle.html#a79a698bd60f0d8457f3a858f22411b4c">fMassOffset</a>        = .05;</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        <a class="code" href="classReconstructedParticle.html#a592dddf1e3068fd87f5a3480cb1fb67b">fBWPureWidth</a>       = .8;</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;        <a class="code" href="classReconstructedParticle.html#a833eb51bbe8f59f7f8ca6444b7b1528f">fBWConvolutedWidth</a> = .001;</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        <a class="code" href="classReconstructedParticle.html#af5f299089cebbc71e3ef55aee1d44997">fGaussianWidths</a>    = {.0469, .1312};</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;        <a class="code" href="classReconstructedParticle.html#a831cfad026b8aaf53d52082f4d502193">fFitRange</a>          = {.40, 1.1};</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;        <a class="code" href="classReconstructedParticle.html#af4e72a3ad26e025fcd909dc82e91590a">fPlotRange</a>         = {.30, 1.7};</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;        <a class="code" href="classReconstructedParticle.html#a2592ff9869e3ff12997c586dbd0559fe">fNPol</a>              = 2;</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;      <span class="keywordflow">case</span> 213:</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;      <span class="keywordflow">case</span> -213: <span class="comment">// rho meson</span></div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        <a class="code" href="classReconstructedParticle.html#a79a698bd60f0d8457f3a858f22411b4c">fMassOffset</a>        = .05;</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        <a class="code" href="classReconstructedParticle.html#a592dddf1e3068fd87f5a3480cb1fb67b">fBWPureWidth</a>       = .8;</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        <a class="code" href="classReconstructedParticle.html#a833eb51bbe8f59f7f8ca6444b7b1528f">fBWConvolutedWidth</a> = .0004;</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        <a class="code" href="classReconstructedParticle.html#af5f299089cebbc71e3ef55aee1d44997">fGaussianWidths</a>    = {.0542, .209};</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        <a class="code" href="classReconstructedParticle.html#a831cfad026b8aaf53d52082f4d502193">fFitRange</a>          = {.50, 1.42};</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;        <a class="code" href="classReconstructedParticle.html#af4e72a3ad26e025fcd909dc82e91590a">fPlotRange</a>         = {.30, 1.7};</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;        <a class="code" href="classReconstructedParticle.html#a2592ff9869e3ff12997c586dbd0559fe">fNPol</a>              = 2;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;      <span class="keywordflow">case</span> 421: <span class="comment">// D0 meson</span></div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;        <a class="code" href="classReconstructedParticle.html#a79a698bd60f0d8457f3a858f22411b4c">fMassOffset</a>        = .05;</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;        <a class="code" href="classReconstructedParticle.html#a592dddf1e3068fd87f5a3480cb1fb67b">fBWPureWidth</a>       = .8;    </div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;        <a class="code" href="classReconstructedParticle.html#a833eb51bbe8f59f7f8ca6444b7b1528f">fBWConvolutedWidth</a> = .0004; </div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        <a class="code" href="classReconstructedParticle.html#af5f299089cebbc71e3ef55aee1d44997">fGaussianWidths</a>    = {.0542, .15, .5};</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;        <a class="code" href="classReconstructedParticle.html#a831cfad026b8aaf53d52082f4d502193">fFitRange</a>          = {1.84, 1.91};</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        <a class="code" href="classReconstructedParticle.html#af4e72a3ad26e025fcd909dc82e91590a">fPlotRange</a>         = {1.83, 1.94};</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;        <a class="code" href="classReconstructedParticle.html#a2592ff9869e3ff12997c586dbd0559fe">fNPol</a>              = 0;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;      <span class="keywordflow">case</span> 333: <span class="comment">// phi meson</span></div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;        <a class="code" href="classReconstructedParticle.html#a79a698bd60f0d8457f3a858f22411b4c">fMassOffset</a>        = .05;</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;        <a class="code" href="classReconstructedParticle.html#a592dddf1e3068fd87f5a3480cb1fb67b">fBWPureWidth</a>       = .8;    </div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;        <a class="code" href="classReconstructedParticle.html#a833eb51bbe8f59f7f8ca6444b7b1528f">fBWConvolutedWidth</a> = .0004; </div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;        <a class="code" href="classReconstructedParticle.html#af5f299089cebbc71e3ef55aee1d44997">fGaussianWidths</a>    = {.002, .006};</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;        <a class="code" href="classReconstructedParticle.html#a831cfad026b8aaf53d52082f4d502193">fFitRange</a>          = {.99, 1.053};</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;        <a class="code" href="classReconstructedParticle.html#af4e72a3ad26e025fcd909dc82e91590a">fPlotRange</a>         = {.99, 1.18};</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;        <a class="code" href="classReconstructedParticle.html#a2592ff9869e3ff12997c586dbd0559fe">fNPol</a>              = 2;</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;      <span class="keywordflow">case</span> 443: <span class="comment">// J/psi meson</span></div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;        <a class="code" href="classReconstructedParticle.html#a79a698bd60f0d8457f3a858f22411b4c">fMassOffset</a>        = .05;</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;        <a class="code" href="classReconstructedParticle.html#a592dddf1e3068fd87f5a3480cb1fb67b">fBWPureWidth</a>       = .8;</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;        <a class="code" href="classReconstructedParticle.html#a833eb51bbe8f59f7f8ca6444b7b1528f">fBWConvolutedWidth</a> = .0004;</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        <a class="code" href="classReconstructedParticle.html#af5f299089cebbc71e3ef55aee1d44997">fGaussianWidths</a>    = {1e-8, 1e-8};</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        <a class="code" href="classReconstructedParticle.html#a831cfad026b8aaf53d52082f4d502193">fFitRange</a>          = {3.096813, 3.096815};</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;        <a class="code" href="classReconstructedParticle.html#af4e72a3ad26e025fcd909dc82e91590a">fPlotRange</a>         = {3.096813, 3.096815};</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;        <a class="code" href="classReconstructedParticle.html#a2592ff9869e3ff12997c586dbd0559fe">fNPol</a>              = 2;</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;      <span class="keywordflow">default</span>:</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;ERROR: No particle reconstruction defined for PDG code &quot;</span></div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;                  &lt;&lt; <a class="code" href="classParticle.html#a08665826413095e79efd4a6a1ec3fabc">fParticlePDG</a>-&gt;PdgCode() &lt;&lt; <span class="stringliteral">&quot; (&quot;</span> &lt;&lt; <a class="code" href="classParticle.html#a08665826413095e79efd4a6a1ec3fabc">fParticlePDG</a>-&gt;GetName() &lt;&lt; <span class="stringliteral">&quot;)&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    }</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;  }</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;}</div><div class="ttc" id="classReconstructedParticle_html_a833eb51bbe8f59f7f8ca6444b7b1528f"><div class="ttname"><a href="classReconstructedParticle.html#a833eb51bbe8f59f7f8ca6444b7b1528f">ReconstructedParticle::fBWConvolutedWidth</a></div><div class="ttdeci">Double_t fBWConvolutedWidth</div><div class="ttdoc">Estimate for the width of the Breit-Wigner function when convoluted with a Double_t Gaussian...</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00094">ReconstructedParticle.h:94</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1TerminalIO_html_a3cf768f515ced7b0f68b80b0d5ce0371"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1TerminalIO.html#a3cf768f515ced7b0f68b80b0d5ce0371">BOSS_Afterburner::TerminalIO::IsEmptyPtr</a></div><div class="ttdeci">bool IsEmptyPtr(void *ptr)</div><div class="ttdoc">Auxiliary function that you can used in other functions to check if a pointer that you fed it is a nu...</div><div class="ttdef"><b>Definition:</b> <a href="TerminalIO_8cxx_source.html#l00040">TerminalIO.cxx:40</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a592dddf1e3068fd87f5a3480cb1fb67b"><div class="ttname"><a href="classReconstructedParticle.html#a592dddf1e3068fd87f5a3480cb1fb67b">ReconstructedParticle::fBWPureWidth</a></div><div class="ttdeci">Double_t fBWPureWidth</div><div class="ttdoc">Estimate for the width of the Breit-Wigner function when fitting BW only. </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00096">ReconstructedParticle.h:96</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a21c575056b3907105d289fbe46516e50"><div class="ttname"><a href="classReconstructedParticle.html#a21c575056b3907105d289fbe46516e50">ReconstructedParticle::RooRealVarSigmaFixed</a></div><div class="ttdeci">std::shared_ptr&lt; RooRealVar &gt; RooRealVarSigmaFixed(UChar_t num)</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00130">ReconstructedParticle.cxx:130</a></div></div>
<div class="ttc" id="classFitPars_html_a1757df095e72f863dcc58d820a8e9d4e"><div class="ttname"><a href="classFitPars.html#a1757df095e72f863dcc58d820a8e9d4e">FitPars::BackgroundParameters</a></div><div class="ttdeci">const std::vector&lt; double &gt; &amp; BackgroundParameters() const</div><div class="ttdef"><b>Definition:</b> <a href="FitPars_8h_source.html#l00031">FitPars.h:31</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_add58a5ab5fa9d5a5a468397f2fd56cff"><div class="ttname"><a href="classReconstructedParticle.html#add58a5ab5fa9d5a5a468397f2fd56cff">ReconstructedParticle::RooRealVarMean</a></div><div class="ttdeci">std::shared_ptr&lt; RooRealVar &gt; RooRealVarMean()</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00105">ReconstructedParticle.cxx:105</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1Draw_html_ab9b47ef9b8006087ad8ac15b6d46aac8"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1Draw.html#ab9b47ef9b8006087ad8ac15b6d46aac8">BOSS_Afterburner::Draw::DrawAndSave</a></div><div class="ttdeci">void DrawAndSave(const char *saveas, Option_t *opt, const char *logScale, ARGS... args)</div><div class="ttdoc">End recursion for DrawAndSaveRecursion. </div><div class="ttdef"><b>Definition:</b> <a href="Draw_8h_source.html#l00070">Draw.h:70</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_ab660efe8d951cb0d9b377797b44a431a"><div class="ttname"><a href="classReconstructedParticle.html#ab660efe8d951cb0d9b377797b44a431a">ReconstructedParticle::FitPureGaussians</a></div><div class="ttdeci">std::vector&lt; std::shared_ptr&lt; RooRealVar &gt; &gt; FitPureGaussians(TH1F *hist, TString logScale, TString outputName=&quot;&quot;, const bool fixpars=false)</div><div class="ttdoc">Fit the sum of two Gaussian functions on a invariant mass distrubution. The mean of the two Gaussian ...</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00330">ReconstructedParticle.cxx:330</a></div></div>
<div class="ttc" id="ReconstructedParticle_8h_html"><div class="ttname"><a href="ReconstructedParticle_8h.html">ReconstructedParticle.h</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a407721683be88ff1a0d4c5e7591e5205"><div class="ttname"><a href="classReconstructedParticle.html#a407721683be88ff1a0d4c5e7591e5205">ReconstructedParticle::FitBreitWigner</a></div><div class="ttdeci">std::vector&lt; std::shared_ptr&lt; RooRealVar &gt; &gt; FitBreitWigner(TH1F *hist, TString logScale)</div><div class="ttdoc">Fit the sum of two Gaussian functions on a invariant mass distrubution. The mean of the two Gaussian ...</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00246">ReconstructedParticle.cxx:246</a></div></div>
<div class="ttc" id="Draw_8h_html"><div class="ttname"><a href="Draw_8h.html">Draw.h</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_af4e72a3ad26e025fcd909dc82e91590a"><div class="ttname"><a href="classReconstructedParticle.html#af4e72a3ad26e025fcd909dc82e91590a">ReconstructedParticle::fPlotRange</a></div><div class="ttdeci">std::pair&lt; Double_t, Double_t &gt; fPlotRange</div><div class="ttdoc">Invariant mass range that you plot. </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00108">ReconstructedParticle.h:108</a></div></div>
<div class="ttc" id="classFitPars_html_a88130b5e4b8ae6f455f383105cdf7e8f"><div class="ttname"><a href="classFitPars.html#a88130b5e4b8ae6f455f383105cdf7e8f">FitPars::SignalParameters</a></div><div class="ttdeci">const std::vector&lt; double &gt; &amp; SignalParameters() const</div><div class="ttdef"><b>Definition:</b> <a href="FitPars_8h_source.html#l00032">FitPars.h:32</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a2592ff9869e3ff12997c586dbd0559fe"><div class="ttname"><a href="classReconstructedParticle.html#a2592ff9869e3ff12997c586dbd0559fe">ReconstructedParticle::fNPol</a></div><div class="ttdeci">Char_t fNPol</div><div class="ttdoc">Degree of the background polynomial (whether Chebychev or normal polynomial). </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00099">ReconstructedParticle.h:99</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_afbaf8bad6d1322924a4c43d5d73aae3a"><div class="ttname"><a href="classReconstructedParticle.html#afbaf8bad6d1322924a4c43d5d73aae3a">ReconstructedParticle::RooRealVarMeanZero</a></div><div class="ttdeci">std::shared_ptr&lt; RooRealVar &gt; RooRealVarMeanZero()</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00113">ReconstructedParticle.cxx:113</a></div></div>
<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
<div class="ttc" id="classParticle_html_a08665826413095e79efd4a6a1ec3fabc"><div class="ttname"><a href="classParticle.html#a08665826413095e79efd4a6a1ec3fabc">Particle::fParticlePDG</a></div><div class="ttdeci">TParticlePDG * fParticlePDG</div><div class="ttdef"><b>Definition:</b> <a href="Particle_8h_source.html#l00032">Particle.h:32</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1Draw_html_a8e27e1ff75f6232688896ba0af775adc"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1Draw.html#a8e27e1ff75f6232688896ba0af775adc">BOSS_Afterburner::Draw::gColorPalette</a></div><div class="ttdeci">const std::vector&lt; Color_t &gt; gColorPalette</div><div class="ttdef"><b>Definition:</b> <a href="Settings_8h_source.html#l00082">Settings.h:82</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_aa41cf62690a8fbfb5f0adcdf22e96bba"><div class="ttname"><a href="classReconstructedParticle.html#aa41cf62690a8fbfb5f0adcdf22e96bba">ReconstructedParticle::BWPureWidth</a></div><div class="ttdeci">const Double_t BWPureWidth() const</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00071">ReconstructedParticle.h:71</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_abbd9cb0d080c38be2194e9a1033aacb1"><div class="ttname"><a href="classReconstructedParticle.html#abbd9cb0d080c38be2194e9a1033aacb1">ReconstructedParticle::CreateRooFitInvMassDistr</a></div><div class="ttdeci">RooDataHist CreateRooFitInvMassDistr(TH1F *hist, const RooRealVar &amp;var)</div><div class="ttdoc">Create a RooDataHist specifically for resonstructing a certain particle (ReconstructedParticle). </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00427">ReconstructedParticle.cxx:427</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_ae548c9fcc7d7eeb384f604dd3105db04"><div class="ttname"><a href="classReconstructedParticle.html#ae548c9fcc7d7eeb384f604dd3105db04">ReconstructedParticle::FitConvolutionBWGaussian</a></div><div class="ttdeci">std::vector&lt; std::shared_ptr&lt; RooRealVar &gt; &gt; FitConvolutionBWGaussian(TH1F *hist, TString logScale)</div><div class="ttdoc">Fit the sum of two Gaussian functions on a invariant mass distrubution. The mean of the two Gaussian ...</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00140">ReconstructedParticle.cxx:140</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_ace08240d1503b9f0ea4fe7e74e649ccf"><div class="ttname"><a href="classReconstructedParticle.html#ace08240d1503b9f0ea4fe7e74e649ccf">ReconstructedParticle::SetDaughterLabel</a></div><div class="ttdeci">void SetDaughterLabel(const Char_t *daughters)</div></div>
<div class="ttc" id="classParticle_html_ad30a585b6978c1be9fe055b991aae27d"><div class="ttname"><a href="classParticle.html#ad30a585b6978c1be9fe055b991aae27d">Particle::Name</a></div><div class="ttdeci">const char * Name() const</div><div class="ttdef"><b>Definition:</b> <a href="Particle_8cxx_source.html#l00074">Particle.cxx:74</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a54ed6de6cfd5cdf1add2d2393f685648"><div class="ttname"><a href="classReconstructedParticle.html#a54ed6de6cfd5cdf1add2d2393f685648">ReconstructedParticle::fFitParameters</a></div><div class="ttdeci">FitPars fFitParameters</div><div class="ttdoc">Vector of fit parameters. </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00091">ReconstructedParticle.h:91</a></div></div>
<div class="ttc" id="namespacevalues_html_a033b943df6ca20602e77c3a93cbebd92"><div class="ttname"><a href="namespacevalues.html#a033b943df6ca20602e77c3a93cbebd92">values::c</a></div><div class="ttdeci">vector&lt; double &gt; c</div><div class="ttdef"><b>Definition:</b> <a href="DrawArgusShapes_8C_source.html#l00015">DrawArgusShapes.C:15</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_ae4b4ace00839a865ae3a610e89589a67"><div class="ttname"><a href="classReconstructedParticle.html#ae4b4ace00839a865ae3a610e89589a67">ReconstructedParticle::PlotUntil</a></div><div class="ttdeci">const Double_t PlotUntil() const</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00080">ReconstructedParticle.h:80</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a739a06b59b8a9685d6bdf6e339a3d38c"><div class="ttname"><a href="classReconstructedParticle.html#a739a06b59b8a9685d6bdf6e339a3d38c">ReconstructedParticle::NPol</a></div><div class="ttdeci">const Char_t NPol() const</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00082">ReconstructedParticle.h:82</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1Fit_html_a5f4c0b279fc09e9ebbb16ade0f1e33d0"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1Fit.html#a5f4c0b279fc09e9ebbb16ade0f1e33d0">BOSS_Afterburner::Fit::gSigmaScaleFactorUp</a></div><div class="ttdeci">double gSigmaScaleFactorUp</div><div class="ttdef"><b>Definition:</b> <a href="Settings_8h_source.html#l00078">Settings.h:78</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1Draw_html_adee26ab251a1f534e7dfcfa01bce0bd1"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1Draw.html#adee26ab251a1f534e7dfcfa01bce0bd1">BOSS_Afterburner::Draw::SaveCanvas</a></div><div class="ttdeci">void SaveCanvas(const char *saveas, TVirtualPad *pad=gPad, TString logScale=&quot;&quot;)</div><div class="ttdoc">Helper function that allows you to save a TPad or TCanvas. </div><div class="ttdef"><b>Definition:</b> <a href="Draw_8cxx_source.html#l00039">Draw.cxx:39</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_aab77ae2925967715018f87efef98ab35"><div class="ttname"><a href="classReconstructedParticle.html#aab77ae2925967715018f87efef98ab35">ReconstructedParticle::FitUntil</a></div><div class="ttdeci">const Double_t FitUntil() const</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00073">ReconstructedParticle.h:73</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_html"><div class="ttname"><a href="namespaceBOSS__Afterburner.html">BOSS_Afterburner</a></div><div class="ttdoc">Header with a namespace Settings that contains all settings for the analysis framework. </div><div class="ttdef"><b>Definition:</b> <a href="Draw_8h_source.html#l00017">Draw.h:17</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_ad298e3971f99319ba7ebfd53b7419735"><div class="ttname"><a href="classReconstructedParticle.html#ad298e3971f99319ba7ebfd53b7419735">ReconstructedParticle::RooRealVarSigma</a></div><div class="ttdeci">std::shared_ptr&lt; RooRealVar &gt; RooRealVarSigma(UChar_t num)</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00120">ReconstructedParticle.cxx:120</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a284412445438dd88c4db8926cb226c84"><div class="ttname"><a href="classReconstructedParticle.html#a284412445438dd88c4db8926cb226c84">ReconstructedParticle::fRooRealVars</a></div><div class="ttdeci">std::list&lt; std::shared_ptr&lt; RooRealVar &gt; &gt; fRooRealVars</div><div class="ttdoc">This list is to ensure that RooRealVar remain existing untill this ReconstructedParcticle is destroye...</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00110">ReconstructedParticle.h:110</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a606b46b3150f197eaa289912f1c5e7a3"><div class="ttname"><a href="classReconstructedParticle.html#a606b46b3150f197eaa289912f1c5e7a3">ReconstructedParticle::DetermineReconstructionParameters</a></div><div class="ttdeci">void DetermineReconstructionParameters()</div><div class="ttdoc">Determine the wide and small sigma estimates for the double Gaussian fit. These are supposed to chara...</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00455">ReconstructedParticle.cxx:455</a></div></div>
<div class="ttc" id="classParticle_html"><div class="ttname"><a href="classParticle.html">Particle</a></div><div class="ttdoc">Container for particle data. </div><div class="ttdef"><b>Definition:</b> <a href="Particle_8h_source.html#l00016">Particle.h:16</a></div></div>
<div class="ttc" id="namespacevalues_html_aa7df32bde35ec97ac4a41de71d7d969f"><div class="ttname"><a href="namespacevalues.html#aa7df32bde35ec97ac4a41de71d7d969f">values::p</a></div><div class="ttdeci">vector&lt; double &gt; p</div><div class="ttdef"><b>Definition:</b> <a href="DrawArgusShapes_8C_source.html#l00016">DrawArgusShapes.C:16</a></div></div>
<div class="ttc" id="Settings_8h_html"><div class="ttname"><a href="Settings_8h.html">Settings.h</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a44ae7cd9ea48ce3c6dc806ab3dddd455"><div class="ttname"><a href="classReconstructedParticle.html#a44ae7cd9ea48ce3c6dc806ab3dddd455">ReconstructedParticle::RooRealVarInvMass</a></div><div class="ttdeci">std::shared_ptr&lt; RooRealVar &gt; RooRealVarInvMass()</div><div class="ttdoc">Create a RooRealVar variable for resonstructing a certain particle. </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00096">ReconstructedParticle.cxx:96</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a271906b64247b50251767358faf6ec5e"><div class="ttname"><a href="classReconstructedParticle.html#a271906b64247b50251767358faf6ec5e">ReconstructedParticle::LowerMass</a></div><div class="ttdeci">const Double_t LowerMass() const</div><div class="ttdoc">Get (compute) the lower mass boundary. Useful for fitting parameters. </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00435">ReconstructedParticle.cxx:435</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a47b3228d46376f53a967f26af2154bdb"><div class="ttname"><a href="classReconstructedParticle.html#a47b3228d46376f53a967f26af2154bdb">ReconstructedParticle::GaussianWidths</a></div><div class="ttdeci">const std::vector&lt; Double_t &gt; GaussianWidths() const</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00085">ReconstructedParticle.h:85</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_af5f299089cebbc71e3ef55aee1d44997"><div class="ttname"><a href="classReconstructedParticle.html#af5f299089cebbc71e3ef55aee1d44997">ReconstructedParticle::fGaussianWidths</a></div><div class="ttdeci">std::vector&lt; Double_t &gt; fGaussianWidths</div><div class="ttdoc">Vector of for Gaussian widths that you can use that as estimates of the widths for e...</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00100">ReconstructedParticle.h:100</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a03c956b9a28c14587c8bf9bc5a90d32d"><div class="ttname"><a href="classReconstructedParticle.html#a03c956b9a28c14587c8bf9bc5a90d32d">ReconstructedParticle::Initialize</a></div><div class="ttdeci">void Initialize()</div><div class="ttdoc">Encapsulation of what any constructor for this object needs to do. </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00051">ReconstructedParticle.cxx:51</a></div></div>
<div class="ttc" id="TerminalIO_8h_html"><div class="ttname"><a href="TerminalIO_8h.html">TerminalIO.h</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a0537e6ce44ca695c985c109149f6cde9"><div class="ttname"><a href="classReconstructedParticle.html#a0537e6ce44ca695c985c109149f6cde9">ReconstructedParticle::FitFrom</a></div><div class="ttdeci">const Double_t FitFrom() const</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00072">ReconstructedParticle.h:72</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_ae6920ec17e449a0ab49f4db2bf06b1c8"><div class="ttname"><a href="classReconstructedParticle.html#ae6920ec17e449a0ab49f4db2bf06b1c8">ReconstructedParticle::ImportFitPars_DG</a></div><div class="ttdeci">void ImportFitPars_DG()</div><div class="ttdoc">Temporary method to overwrite the members needed for the double Gaussian fit. </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00071">ReconstructedParticle.cxx:71</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a9c64f7035a5b41e50b1dc256a2d3509f"><div class="ttname"><a href="classReconstructedParticle.html#a9c64f7035a5b41e50b1dc256a2d3509f">ReconstructedParticle::UpperMass</a></div><div class="ttdeci">const Double_t UpperMass() const</div><div class="ttdoc">Get (compute) the upper mass boundary. Useful for fitting parameters. </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00444">ReconstructedParticle.cxx:444</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_adada552db45c085ef713c57a59ca7456"><div class="ttname"><a href="classReconstructedParticle.html#adada552db45c085ef713c57a59ca7456">ReconstructedParticle::fDaughterLabels</a></div><div class="ttdeci">TString fDaughterLabels</div><div class="ttdoc">LaTeX formatted string for decay particles. </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00093">ReconstructedParticle.h:93</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_aa755cc4e124a7355b30a7b8fc7eddafb"><div class="ttname"><a href="classReconstructedParticle.html#aa755cc4e124a7355b30a7b8fc7eddafb">ReconstructedParticle::PlotFrom</a></div><div class="ttdeci">const Double_t PlotFrom() const</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00079">ReconstructedParticle.h:79</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_adc13b67310f6b9db9c819a9024f58f20"><div class="ttname"><a href="classReconstructedParticle.html#adc13b67310f6b9db9c819a9024f58f20">ReconstructedParticle::DaughterLabel</a></div><div class="ttdeci">const Char_t * DaughterLabel() const</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00069">ReconstructedParticle.h:69</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a79a698bd60f0d8457f3a858f22411b4c"><div class="ttname"><a href="classReconstructedParticle.html#a79a698bd60f0d8457f3a858f22411b4c">ReconstructedParticle::fMassOffset</a></div><div class="ttdeci">Double_t fMassOffset</div><div class="ttdoc">Percentage (divided by 100) that the mean (namely, the mass) may vary. </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00098">ReconstructedParticle.h:98</a></div></div>
<div class="ttc" id="namespaceBOSS__Afterburner_1_1Fit_html_a97b7e6c6c2d07131d7f191ec2a99dba2"><div class="ttname"><a href="namespaceBOSS__Afterburner_1_1Fit.html#a97b7e6c6c2d07131d7f191ec2a99dba2">BOSS_Afterburner::Fit::gSigmaScaleFactorLow</a></div><div class="ttdeci">double gSigmaScaleFactorLow</div><div class="ttdef"><b>Definition:</b> <a href="Settings_8h_source.html#l00077">Settings.h:77</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_aed152e7d39cbd841630b76200b2cb9be"><div class="ttname"><a href="classReconstructedParticle.html#aed152e7d39cbd841630b76200b2cb9be">ReconstructedParticle::SetGaussianPars</a></div><div class="ttdeci">void SetGaussianPars(TString input)</div><div class="ttdoc">Temporary method to import new values for the Gaussian widths. </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8cxx_source.html#l00084">ReconstructedParticle.cxx:84</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a2aaacb221a31c08afee01b6ec1e855e9"><div class="ttname"><a href="classReconstructedParticle.html#a2aaacb221a31c08afee01b6ec1e855e9">ReconstructedParticle::ReconstructedParticle</a></div><div class="ttdeci">ReconstructedParticle()</div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00028">ReconstructedParticle.h:28</a></div></div>
<div class="ttc" id="classParticle_html_a277d1d1b4dfb9f52534fd47ddd204cf7"><div class="ttname"><a href="classParticle.html#a277d1d1b4dfb9f52534fd47ddd204cf7">Particle::NameLaTeX</a></div><div class="ttdeci">const char * NameLaTeX() const</div><div class="ttdef"><b>Definition:</b> <a href="Particle_8cxx_source.html#l00065">Particle.cxx:65</a></div></div>
<div class="ttc" id="classParticle_html_afa7faac580ed024253fe8de88a3d8bd0"><div class="ttname"><a href="classParticle.html#afa7faac580ed024253fe8de88a3d8bd0">Particle::Mass</a></div><div class="ttdeci">double Mass() const</div><div class="ttdef"><b>Definition:</b> <a href="Particle_8cxx_source.html#l00056">Particle.cxx:56</a></div></div>
<div class="ttc" id="classReconstructedParticle_html_a831cfad026b8aaf53d52082f4d502193"><div class="ttname"><a href="classReconstructedParticle.html#a831cfad026b8aaf53d52082f4d502193">ReconstructedParticle::fFitRange</a></div><div class="ttdeci">std::pair&lt; Double_t, Double_t &gt; fFitRange</div><div class="ttdoc">Invariant mass range over which you fit a function (Double_t Gaussian, Crystal ball, Breit-Wigner, etc.). </div><div class="ttdef"><b>Definition:</b> <a href="ReconstructedParticle_8h_source.html#l00105">ReconstructedParticle.h:105</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cded6edb6f641a1cb4990f6be6535da4.html">Particle</a></li><li class="navelem"><a class="el" href="ReconstructedParticle_8cxx.html">ReconstructedParticle.cxx</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
